
package com.ht.modules.system.online.cgform.service;

import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.ht.modules.system.online.cgform.entity.OnlCgformField;

public interface IOnlCgformFieldService extends IService<OnlCgformField> {
    Map<String, Object> queryAutolistPage(String tbname, String headId, Map<String, Object> params);

    void deleteAutoList(String tbname, String id);

    void deleteAutoList(String tbname, String linkField, String linkValue);

    void saveFormData(String code, String tbname, JSONObject json);

    void saveFormData(List<OnlCgformField> fieldList, String tbname, JSONObject json);

    List<OnlCgformField> queryFormFields(String code, boolean isform);

    void editFormData(String code, String tbname, JSONObject json);

    Map<String, Object> queryFormData(String code, String tbname, String id);

    Map<String, Object> queryFormData(List<OnlCgformField> fieldList, String tbname, String id);

    List<Map<String, Object>> querySubFormData(List<OnlCgformField> fieldList, String tbname, String linkField, String value);

    List<Map<String, String>> getAutoListQueryInfo(String code);

    IPage<Map<String, Object>> selectPageBySql(Page<Map<String, Object>> page, @Param("sqlStr") String sql);

    List<String> selectOnlineHideColumns(String tbname);

    List<OnlCgformField> queryAvailableFields(String cgFormId, String tbname, boolean isList);

    List<String> queryDisabledFields(String tbname);
}
